module.exports = {
  /**
   * 查询多条记录 分页
   * @url admin/kong/sys/getList 前端调用的url参数地址
   * data 请求参数 说明
   * @param {Number}         pageIndex 当前页码
   * @param {Number}         pageSize  每页显示数量
   * @param {Array<Object>}  sortRule  排序规则
   * @param {object}         formData  查询条件数据源
   * @param {Array<Object>}  columns   查询条件规则
   * res 返回参数说明
   * @param {Number}         code      错误码，0表示成功
   * @param {String}         msg       详细信息
   */
  main: async (event) => {
    let { data = {}, userInfo, util, filterResponse, originalParam } = event;
    let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
    let { uid } = data;
    let res = { code: 0, msg: '' };
    //  let time = new Date('2024-02-09 00:00:00+8').getTime();
    let { todayStart, todayEnd } = vk.pubfn.getCommonTime();
    // 业务逻辑开始-----------------------------------------------------------
    res = await vk.baseDao.getTableData({
      dbName: "bidding-order",
      data,
      // whereJson: {
      //   status: 2
      // },
      foreignDB: [
        {
          dbName: "bidding-booths", // 副表名
          localKey: "booth_id", // 主表外键字段名
          foreignKey: "_id", // 副表外键字段名
          as: "booth",
          limit: 1,
        },
        {
          dbName: "uni-id-users", // 副表名
          localKey: "userid", // 主表外键字段名
          foreignKey: "_id", // 副表外键字段名
          as: "userinfo",
          limit: 1,
        },
        {
          dbName: "vk-pay-orders", // 副表名
          localKey: "earnest_money_out_trade_no", // 主表外键字段名
          foreignKey: "out_trade_no", // 副表外键字段名
          as: "earnest_money_out_trade_no_info",
          fieldJson: {
            _id: true,
            status: true,
            nickname: true,
            _add_time: true,
            description: true,
            out_trade_no: true,
            transaction_id: true,
            description: true,
            total_fee: true
          },
          limit: 1, // 当limit = 1时，以对象形式返回，否则以数组形式返回
        }
      ],
      lastWhereJson: {
        'earnest_money_out_trade_no_info.status': 1,
        // 'booth.tenancy': _.lte(todayStart)  //租期大于等于今天
      },
      sortArr: [{
        "name": "booth.name",
        "type": "asc"
      }],
    });
    return res;
  }

}
